IBM System i

The IBM System i is IBM's previous generation of midrange computer systems for IBM i users, and was subsequently replaced by the IBM Power Systems in April 2008.

The platform was first introduced as the AS/400 on June 21, 1988 and later renamed to the eServer iSeries in 2000. As part of IBM's Systems branding initiative in 2006, it was again renamed to System i. The codename of the AS/400 project was "Silver Lake", named for the lake in downtown Rochester, MN, where development of the system took place.

In April 2008, IBM announced its integration with the System p platform. The unified product line is called IBM Power Systems and features support for the IBM i (previously known as i5/OS or OS/400), AIX and Linux operating systems. Power4 or older hardware ran OS/400 exclusively.

Contents

Summary

The IBM System/38 was introduced in November 1980 as a minicomputer for general business and departmental use. It was replaced by the AS/400 midrange computer in 1988 which was rebranded as the eServer iSeries in 2000 (in accordance with IBM's new eServer initiative). Later in 2006 it was renamed the IBM System i which lasted until April 2008 (almost 20 years after being introduced) when it too was—finally—replaced by the IBM Power Systems line.

It uses an object-based operating system called IBM i. The operating system has undergone name changes in accordance with the rebranding of the IBM server line. Initially, it was called OS/400 (following the name schema that gave birth to OS/360 and OS/2). Later on became known as i5/OS in line with the introduction of the eServer i5 servers featuring POWER5 processors. Finally, it was called just IBM i coinciding with the 6.1 release.

Features include a RDBMS (DB2/400), a menu-driven interface, multi-user support, dumb terminal support (IBM 5250), printers, as well as security, communications and web-based applications, which could be executed either inside the (optional) IBM WebSphere application server or in PHP/MySQL[1] using a native port of the Apache web server.

While in Unix-like systems “everything is a file”, on the System i everything is an object, with built-in persistence and garbage collection. It also offers Unix-like file directories using the Integrated File System.[2] Java compatibility is implemented through a native port of the Java virtual machine.

In 1999, IBM introduced logical partitioning (LPARs) with i5/OS to support multiple virtual systems on a single hardware footprint.

Features

The IBM System i platform extended the System/38 architecture of an object-based system with an integrated DB2 relational database. Equally important are the virtual machine and single-level storage concepts which established the platform as an advanced business computer.

Instruction set

One feature that has contributed to the longevity of the IBM System i platform is its high-level instruction set (called TIMI for "Technology Independent Machine Interface" by IBM), which allows application programs to take advantage of advances in hardware and software without recompilation. TIMI is a virtual instruction set independent of the underlying machine instruction set of the CPU. User-mode programs contain both TIMI instructions and the machine instructions of the CPU, thus ensuring hardware independence. This is conceptually somewhat similar to the virtual machine architecture of programming environments such as Smalltalk, Java and .NET. The key difference is that it is embedded so deeply into the AS/400's design as to make applications effectively binary-compatible across different processor families.

Unlike some other virtual-machine architectures in which the virtual instructions are interpreted at run time, TIMI instructions are never interpreted. They constitute an intermediate compile time step and are translated into the processor's instruction set as the final compilation step. The TIMI instructions are stored within the final program object, in addition to the executable machine instructions. This is how application objects compiled on one processor family (e.g., the original CISC AS/400 48-bit processors) could be moved to a new processor (e.g., PowerPC 64-bit) without re-compilation. An application saved from the older 48-bit platform can simply be restored onto the new 64-bit platform where the operating system discards the old machine instructions and re-translates the TIMI instructions into 64-bit instructions for the new processor.

The IBM System i's instruction set defines all pointers as 48-bit. This was the original design feature of the System/38 (S/38) in the mid 1970s planning for future use of faster processors, memory and an expanded address space. The original AS/400 CISC models used the same 48-bit address space as the S/38. The address space was expanded in 1995 when the RISC PowerPC RS64 64-bit CPU processor replaced the 48-bit CISC processor.

For 64-bit PowerPC processors, the virtual address resides in the rightmost 64 bits of a pointer while it was 48 bits in the S/38 and CISC AS/400. The 64-bit address space references main memory and disk as a single address set which is the single-level storage concept.

Software

The IBM System i includes an extensive library-based operating system, i5/OS, and is also capable of supporting multiple instances of AIX, Linux, Lotus Domino, Microsoft Windows 2000 and Windows Server 2003. While i5/OS, AIX, Linux and Lotus Domino are supported on the POWER processors, Windows is supported with either single-processor internal blade servers (IXS) or externally-linked multiple-processor servers (IXA and iSCSI). iSCSI also provides support for attachment of IBM Bladecenters. Windows, Linux, and VMware ESX(VI3) are supported on iSCSI attached servers.

LPAR (Logical PARtitioning), a feature introduced from IBM's mainframe computers, facilitates running multiple operating systems simultaneously on one IBM System i unit. A system configured with LPAR can run various operating systems on separate partitions while ensuring that one OS cannot run over the memory or resources of another. Each LPAR is given a portion of system resources (memory, hard disk space, and CPU time) via a system of weights that determines where unused resources are allocated at any given time. The operating systems supported (and commonly used) under the LPAR scheme are i5/OS, AIX, and Linux.

Other features include an integrated DB2 database management system, a menu-driven interface, multi-user support, non-programmable terminals (IBM 5250) and printers, security, communications, client–server and web-based applications. Much of the software necessary to run the IBM System i is included and integrated into the base operating system.

The IBM System i also supports common client–server systems such as ODBC and JDBC for accessing its database from client software such as Java, Microsoft .NET languages and others.

The IBM System i also provides an environment for AIX applications to run natively on i5/OS without the need for an AIX LPAR.

AIX programs are binary compatible with OS/400 when using OS/400's PASE (Portable Applications System Environment). PASE is essentially "an operating system within an operating system", supporting the most recent stable version of AIX. Most AIX 5L compatible binaries may be executed without modification or recompilation in the PASE environment. Exceptions to this are programs that contain direct calls to AIX kernel based APIs as there is no AIX kernel in PASE. If necessary an AIX program may be built directly in PASE using a standard AIX XL C/C++ compiler, for example if native APIs are to be used. In that case APIs are provided to translate between the AIX style pointers and the native 16 byte pointers. Support is provided for running both 32 and 64bit AIX executables.

Programming

Programming languages available for the AS/400 include RPG, assembly language, C, C++, Pascal, Java, EGL, Perl, Smalltalk, COBOL, SQL, BASIC, PHP, PL/I, Python and REXX. Several CASE tools are available: AllFusion Plex (see *Plex Wiki), Accelerator for IBM i, ADELIA, Synon, AS/SET, IBM Rational Business Developer Extension, LANSA, ProGen Plus and GeneXus.

The ILE (Integrated Language Environment) programming environment allows programs from ILE compatible languages (C, C++, COBOL, RPG, Fortran, and CL), to be bound into the same executable and call procedures written in any of the other ILE languages.

The IBM System i fully supports the Java language, including a 32-bit Java Virtual Machine (JVM) and a 64-bit JVM.

Commands in the Control Language (CL) are promptable using the keyboard F4 function key, and most provide cursor-sensitive help to make specifying command parameters simpler. All command names and parameter keywords are based upon uniform standardized and mostly 3-letter abbreviations for verbs and subjects, making for easy rendering and interpretation by the application developer, as opposed to other operating systems with often cryptic or inconsistent command names for related functions or command parameter switches. For instance, the parameter keyword to apply a text description to any object to be created or changed is spelled the same way for all such commands.

Examples:

For traditional business programming languages such as RPG, COBOL, and C, the IBM System i provides an interface to the integrated database that allows these languages to treat database files much like other platforms treat ISAM or VSAM files.

Support for 5250 display operations is provided via display files, an interface between workstations, keyboards and displays, and interactive applications, as opposed to batch processing with little or no user interaction. ASCII terminals and PC workstations are equally and well supported, also via internet or LAN network access supplemented by either IBM or non-IBM communication software, for example TELNET or TELNET 5250.

History

The IBM System i, then known as the AS/400, was the continuation of the System/38 database machine architecture (announced by IBM in October 1978 and delivered in August 1979). The AS/400 removed capability-based addressing.[3] The AS/400 added source compatibility with the System/36 combining the two primary computers manufactured by the IBM Rochester plant. The System/36 was IBM's most successful mini-computer but the architecture had reached its limit. The first AS/400 systems (known by the development code names Silverlake and Olympic) were delivered in 1988 under the tag line "Best of Both Worlds" and the product line has been refreshed continually since then. Guy Dehond from Inventive Designers was one of the beta-testers of Silverlake. The programmers who worked on OS/400, the operating system of the AS/400, did not have a UNIX background. Dr Frank Soltis, the chief architect, says that this is the main difference between this and any other operating system.

The AS/400 was one of the first general-purpose computer systems to attain a C2 security rating from the NSA (Gould UTX/C2, a UNIX-based system was branded in 1986[4]), and in 1995 was extended to employ a 64-bit processor and operating system.

The 1995 change-over from 48 to 64-bit required that all programs be 'observable', i.e. that the debugging information had not been stripped out of the compiled code. This caused problems for those who had bought third-party products that had no source and no observability. In 2008, the introduction of V6R1 caused similar problems, although this time IBM preferred to call it a "refresh".[5]

In 2000 IBM renamed the AS/400 to iSeries, as part of its e-Server branding initiative. The product line was further extended in 2004 with the introduction of the i5 servers, the first to use the IBM POWER5 processor. The architecture of the system allows for future implementation of 128-bit processors when they become available.

Although announced in 1988, the AS/400 remains IBM's most recent major architectural shift that was developed wholly internally. Since the arrival of Lou Gerstner in 1993, IBM has viewed such colossal internal developments as too risky. Instead, IBM now prefers to make key product strides through acquisition (e.g., the takeovers of Lotus Software and Rational Software) and to support the development of open standards, particularly Linux. It is noteworthy that after the departure of CEO John Akers in 1993, when IBM looked likely to be split up, Bill Gates commented that the only part of IBM that Microsoft would be interested in was the AS/400 division. (At the time, many of Microsoft's business and financial systems ran on the AS/400 platform.[6][7])

Migrating to UNIX (AIX, HPUX, Solaris) or Linux

A series of toolsets have been developed to migrate AS/400 applications to UNIX platforms. California Software (now Infinite Software) and Unibol, Ltd (now Infinite Software) developed tools and services that migrate System i (AS/400) applications written in RPG or COBOL to Unix platforms. These toolsets recompile RPG, COBOL CL and DDS source code and deploy it in Infinite's runtime environment that includes a replication of the AS/400 database. This methodology means that the original code can be recompiled and executed without translation or rewrites to another language. The current version of this toolset named Infinite i is a 64-bit product that runs on the current versions of HPUX, AIX and Solaris.

Migrating to Windows

California Software (now Infinite Software) released its first AS/400 migration product as a partnership with IBM for OS/2. BABY/AS was released in 1991. A Subsequent version of BABY/AS was developed for Windows NT and released in 1997. Unibol (now Infinite Software) developed an AS/400 migration product for UNIX which it released in 1993, named Unibol 400. Subsequent versions of Unibol 400 were produced for Windows. The current version of Infinite i from Infinite Software operates under Windows Enterprise Server 2008 r2 or higher. It is a 64-bit version of the toolset.

Hardware

The AS/400 was originally based on a custom IBM CISC CPU which used a CPU architecture known as Internal MicroProgrammed Interface (IMPI) and an instruction set similar to the IBM 370. It was later migrated to a POWER-based RISC CPU family eventually known as RS64.[8]

CPU in AS/400, iSeries, i5, Power Systems

The System i5 uses IBM POWER CPUs. These CPUs are developed and manufactured by IBM. The POWER 4/5/5+ chips contain two cores. There are Multi-Chip Modules (MCM) available. They have 2 CPUs (4 cores) or 4 CPUs (8 cores) in one MCM.

CPU Year Clock Speed Server-Model
Cobra (A10) since 1995 55 or 75 MHz Model: 4xx, 5xx
Muskie (A25/A30) since 1996 125 or 154 MHz Model: 53x
Apache (RS64) (A35) since 1997 125 MHz Model: 6xx, 150
NorthStar (RS64 II) since 1998 200, 255 or 262 MHz Model: 170, 250, 7xx, 650, S40, SB1[9]
Pulsar (RS64 III) since 1999 450 MHz Model: 270, 820
IStar since 2000 400, 500, 540 or 600 MHz Model: 820, 830, 840, SB2, SB3
SStar (RS64 IV) since 2001 540, 600 or 750 MHz Model: 270, 800, 810, 820, 830, 840
POWER4 since 2002 1.3 GHz Model: 890
POWER4 since 2003 1.1 or 1.3 GHz Model: 825, 870
POWER5 since 2005 1.5 or 1.65 GHz Model: i5-520; i5-550; i5-570; i5-595
POWER5 since 2006 1.9 GHz Model: i5-595
POWER5+ since 2006
1.9 GHz
2.2 GHz
Model: i5-520, i5-550, i5-515, i5-525
Model: i5-570
POWER6 since 2007 4.0 GHz
4.7 GHz
Model: BladeCenter JS22, JS12
Model: i5-570 (MMA)
Models: M50, M25 & M15
POWER6 as of Dec 2009 3.5 GHz
3.8 GHz
4.0 GHz
4.2 GHz
4.4 GHz
5.0 GHz
Models: BladeCenter JS12, JS22, JS23, JS43
Models: Power 520, 550, 560, 570, 575, 595
POWER7 since 2010 3.0 GHz
3.3 GHz
3.55 GHz
Models: Power 710, 720, 730, 740, 750, 755, 770, 780

Models of AS/400, iSeries, i5 systems

Model Year CPU Group Base - CPW
B10, B20, B30, B35, B40, B45, B50, B60, B70 1988, 1989 P10, P20 2,9 - 20
C04, C06, C10, C20, C25 1990 P10 3,1 - 6,1
D02, D04, D06, D10, D20, D25, D35, D45, D50, D60, D70, D80 1991 P10, P20, P30 3,8 - 56,6
E02, E04, E06, E10, E20, E25, E35, E45, E50, E60, E70, E80, E90, E95 1992 P10, P20, P30, P40 4,5 - 116,6
F02, F04, F06, F10, F20, F25, F35, F45, F50, F60, F70, F80, F90, F95, F97 1993 P05, P10, P20, P30, P40 5,5 - 177,4
P01, P02, P03 1993, 1994, 1995 P05 7,3 - 16,8
150 1996 P05 10,9 - 35,0
S10, S20, S30, S40 1997 P05, P10, P20, P30, P40, P50 45,4 - 4550
SB1, SB2, SB3 1997, 2000 P30, P40 1794 - 16500
10S, 100, 135, 140 1995, 1993 P05, P10, P20 17,1 - 65,6
170 1998 P05, P10, P20, 30 - 1090
200, 20S, 236 1994 P05, P10 7,3 - 17,1
250 2000 P05 50 - 75
270 2000 P05, P10, P20 50 - 2350
300, 30S, 310 1994 P10, P20, P30, P40 11,6 - 177,4
400, 40S, 436 1995 P05, P10 13,8 - 91,0
500, 50S, 510, 530, 53S 1995 P10, P20, P30, P40 18,7 - 650
600, 620, 640, 650 1997 P05, P10, P20, P30, P40, P50 22,7 - 4550
720 1999 P10, P20, P30 240 - 1600
730 1999 P20, P30, P40 560 - 2890
740 1999 P40, P50 3660 - 4550
800 2003 P05, P10 300 - 950
810 2003 P10, P20 750 - 2700
820 2000, 2001 P05, P10, P20, P30, P40 100 - 3700
825 2003 P30 3600 - 6600
830 2000, 2002 P20, P30, P40, P50 1850 - 7350
840 2000,2001,2002 P40, P50 10000 - 20200
870 2002 P40, P50 7700 - 20000
890 2002 P50, P60 20000 - 37400
520 2004 - 2006 P05, P10, P20 500 - 7100
550 2004 - 2006 P20 3300 - 14000
570 2004 - 2006 P30, P40 3300 - 58500
595 2004 - 2006 P50, P60 24500 - 216000
515 2007 P05 3800 - 7100
525 2007 P10 3800 - 7100
570 2007 P40 16700 - 58500
MMA (9406) 2007 P30 5500 - 76900
M15 2008 P05 4300
M25 2008 P10 4300 - 8300
M50 2008 P20 4800 - 18000
MMA 2008 P30 8150 - 76900
JS12 2008 P05 7100
JS22 2008 P10 13800
JS23 2008
JS43 2008
570 (9117) 2008 P30 104800
595 (9119) 2008 P60 294700

See also

References

External links